Java网络编程基础Socket用法实例,模拟服务器发送信息

您所在的位置:网站首页 socket csdn Java网络编程基础Socket用法实例,模拟服务器发送信息

Java网络编程基础Socket用法实例,模拟服务器发送信息

#Java网络编程基础Socket用法实例,模拟服务器发送信息| 来源: 网络整理| 查看: 265

公网IP   不可以重复 局域网IP   局域网可以有多个IP,多个IP只有一个公网IP    www.baidu.com   com 公司网络   cn  中国   edu 教育类网络 http https  安全的http协议:可以将发送的消息进行加密,接收方进行解密 域名解析   域名服务器 DNS 服务器 如果没有配置 默认访问的是公共的DNS服务器 将域名转换为相对应的IP地址

socket“套接字” Java.net:   Socket   ServerSocket   DatagramPacket   DatagramSocket   InetAddress     Socket通信模型“数据流”       建立连接       打开Socket关联的输入输出流       数据流中读写信息       关闭所有的数据流和Socket         练习:模拟登录发送信息 TCP   要先建立连接 然后才能发送消息     安全 不会丢失信息     文字信息交流 UDP   不需要建立连接,就可以发送消息     不安全 会丢失信息     视频 音频信息交流    

实例:

//模拟发送端发送消息 import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.InetAddress; import java.net.Socket; //模拟发送端发送消息 public class WorkServer { public static void main(String[] args) { //开启socket插口,bufferedWrite文档流,防止关闭流时定义域报错 Socket socket=null; OutputStream outputStream=null; OutputStreamWriter outputStreamWriter=null; BufferedWriter bufferedWriter=null; try { //对接接口,(IP地址,端口),InetAddress.getLocalHost()方法获得本地IP地址 socket=new Socket(InetAddress.getLocalHost(),4050); //对接接口,(IP地址,端口),"localhost"是本地IP地址 // socket=new Socket("localhost",4050); //对接接口,(IP地址,端口) // socket=new Socket("192.***.**.***",4050); // System.out.println(InetAddress.getLocalHost()); outputStream =socket.getOutputStream(); outputStreamWriter=new OutputStreamWriter(outputStream); bufferedWriter=new BufferedWriter(outputStreamWriter); String info="你好"; bufferedWriter.write(info); bufferedWriter.flush(); } catch (IOException e) { e.printStackTrace(); }finally { try { bufferedWriter.close(); outputStreamWriter.close(); outputStream.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } //模拟务器端接收消息 import java.io.*; import java.net.ServerSocket; import java.net.Socket; //模拟务器端接收消息 public class Test { public static void main(String[] args) { //开启服务器插口,bufferedreader文档流,防止关闭流时定义域报错 ServerSocket serverSocket=null; Socket socket=null; InputStream inputStream=null; InputStreamReader inputStreamReader=null; BufferedReader bufferedReader=null; try { //开启监听接口: 端口1-30000;1000以内常用容易冲突 serverSocket=new ServerSocket(4050); //接收监听接口收到的数据 socket=serverSocket.accept(); //将数据传入文档流(需要确认接收的消息是字符串消息 inputStream=socket.getInputStream(); inputStreamReader=new InputStreamReader(inputStream); bufferedReader=new BufferedReader(inputStreamReader); String info=null; System.out.println("服务器端接受到信息为:"); //输出 while((info=bufferedReader.readLine())!=null){ System.out.println(info); } } catch (IOException e) { e.printStackTrace(); }finally { try { bufferedReader.close(); inputStreamReader.close(); inputStream.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } }

Java网络编程基础Socket用法序列以及反序列实例,模拟用户登录链接:http://t.csdn.cn/PN72J



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3